
What is an Agent?
Big Picture
Agent란 무엇일까? 먼저 그 컨셉을 이해해보자.
만약 우리가 카페 점원에게 커피를 내려달라고 주문하면 점원은 그 즉시 커피를 내리기 위한 방법을 생각하고 계획을 세운다. 그리고 커피 머신을 이용해 커피를 내려서 우리에게 가져다 준다.
Agent는 이처럼 추론(reasoning), 계획(planning), 주변환경과 상호작용(interacting with its environment)할 줄 아는 AI 모델을 말한다.

Formal Definition
보다 정확한 정의는 다음과 같이 내릴 수 있다.
“An Agent is a system that leverages an AI model to interact with its environment in order to achieve a user-defined objective. It combines reasoning, planning, and the execution of actions (often via external tools) to fulfill tasks.”
그리고 Agent는 크게 2가지 주요 부분으로 구성되어 있다고 생각할 수 있다.
- The Brain (AI Model): 모든 생각이 일어나는 부분. AI 모델이 추론과 계획을 하고 현재 상황에서 어떤 액션을 할지 결정한다.
- The Body (Capabilities and Tools): Agent가 수행할 수 있는 모든 기능을 나타낸다.
The type of AI Model
그렇다면 우리는 Agent를 위해 어떤 타입의 AI 모델을 사용해야 할까?
가장 흔한 AI 모델은 입력과 출력이 모두 텍스트인 **LLM (Large Language Model)**이다. 예를 들어, OpenAI의 GPT4, Meta의 LLama, Google의 Gemini 등이 있다. LLMs에 대해서는 다음 섹션에서 더 자세히 다룰 것이다.
Interacting with the environment
LLMs는 엄청나지만 오직 텍스트만 생성할 수 있다. 그런데 HuggingChat이나 ChatGPT 같은 어플리케이션에선 이미지도 생성해주는데 어떻게 이게 가능할까?
해답은 바로 HuggingChat, ChatGPT와 같은 앱의 개발자들이 LLM이 이미지를 생성할 수 있도록 추가 기능(Tool이라고 불리는)을 구현했다는 것이다.
Tool에 대해서도 별도의 섹션에서 다룰 예정이다.

The type of tasks
Agent는 우리가 구현한 Tool을 활용해서 어떤 일이든 할 수 있다.
- 예시 1: 개인 가상 비서
- Siri, Alexa, Google Assistant와 같은 가상 비서는 디지털 환경을 사용하여 사용자 대신 상호작용할 때 Agent 역할을 한다.
- 사용자의 쿼리를 받아 컨텍스트를 분석하고 데이터베이스에서 정보를 검색하여 답변을 제공하거나 액션을 시작한다. 액션의 예시로는 리마인더 세팅, 메시지 전송, 스마트 기기 조절 등이 있다.
- 예시 2: 고객 서비스 챗봇
- 많은 기업들이 자연어로 고객과 상호 작용하는 Agent로 챗봇을 활용한다.
- 이러한 Agent들은 질문에 답하거나, 문제 해결 단계를 안내하거나, 내부 데이터베이스에 이슈를 등록하거나, 심지어 거래를 완료하기도 한다.
- Agent의 사전 정의된 목표에는 사용자 만족도 향상, 대기 시간 단축, 판매 전환율 증대 등이 포함될 수 있다. 고객과 직접 상호작용하고, 대화로부터 학습하며, 시간이 지남에 따라 반응을 조정함으로써 Agent의 핵심 원칙을 실현하고 있다.
- 예시 3: 게임 속 AI NPC
- LLM 기반의 AI agent를 사용하면 게임 속 NPC가 훨씬 더 역동적이고 예측 불가능하게 만들 수 있다.
- 고정된 행동 트리를 따라 움직이는 대신에, 그들은 상황에 맞게 반응하고, 플레이어와의 상호작용에 따라 행동을 변화시키며, 더욱 미묘하고 자연스러운 대화를 생성할 수 있다. 이런 유연성 덕분에 NPC가 더욱 생생하고 몰입감 있게 느껴지며, 플레이어의 행동에 따라 함께 진화하는 캐릭터가 만들어진다.
📌 Summary
Agent는 일반적으로 LLM과 같은 AI 모델을 핵심 추론 엔진으로 사용하는 시스템으로, 다음과 같은 작업을 수행한다.
- 자연어 이해: 인간의 지시를 해석하고 의미 있는 방식으로 응답한다.
- 추론과 계획 수립: 정보를 분석하고, 결정을 내리며, 문제 해결을 위한 전략을 세운다.
- 환경과의 상호작용: 정보를 수집하고, 행동을 취하며, 그 행동의 결과를 관찰한다.

댓글 보기 · Disqus